home *** CD-ROM | disk | FTP | other *** search
Wrap
iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) NNNNAAAAMMMMEEEE iiiillllEEEEllllttttRRRRsssseeeetttt - ELT Reduced Resolution Data Set (R-set) IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM ilWatchedObject HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE #include <il/ilEltRset.h> CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN Typical Electronic Light Table (ELT) applications specify the viewed image as a multi-resolution data set. This data set consists of the original or base image and a collection of minified copies of this image. The components of this multi-resolution data set are called Reduced Resolution Data Sets or R-sets. Each R-set consists of the an image and the parameters that describe that image. The iiiillllEEEEllllttttRRRRsssseeeetttt class encapsulates all of the parameters needed to fully specify a Reduced Resolution Data Set (R-set) to an iiiillllEEEEllllttttIIIImmmmgggg. One parameter is the input image associated with the R-set. This image can be any iiiillllIIIImmmmaaaaggggeeee, but it is assumed that the input image will be related to the original image (e.g., a minified copy). The second parameter used to define the R-set is the scale range over which the R-set is valid. For example, the original image might have a scale range of .5 to 8. This indicates to an iiiillllEEEEllllttttRRRRsssseeeettttSSSSeeeelllleeeeccccttttoooorrrr that the image can be used whenever the effective scale for the viewed image is between that range. The next two parameters define the warping of the image from and to the rectified image. The iiiillllEEEEllllttttIIIImmmmgggg class defines two warping operations on images, a rectification warp and a view warp. The iiiillllEEEEllllttttRRRRsssseeeetttt specifies the rectification warp, while the iiiillllEEEEllllttttIIIImmmmgggg manages the view warp. The rectification warp is an output-driven warp (see iiiillllWWWWaaaarrrrppppIIIImmmmgggg) and defines the mapping of the rectified image onto the input image. The application may also specify the inverse warp if available. If not specified, the iiiillllEEEEllllttttIIIImmmmgggg will compute the inverse when needed. The iiiillllEEEEllllttttRRRRsssseeeetttt allows for the specification of different warps for each R-set in the multi-resolution data set. In many cases this warp will simply include the scale changes needed to map the rectified image onto the minified image. The iiiillllEEEEllllttttRRRRsssseeeetttt includes two indicators that identify the R-set which contains the original or base image and whether the R-set is enabled for use. This information is later used by the iiiillllEEEEllllttttIIIImmmmgggg class. PPPPaaaaggggeeee 1111 iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) Finally, the iiiillllEEEEllllttttRRRRsssseeeetttt class allows the application to bind some application specific data to the R-set object. This data is specified as a pointer to some application allocated data area. This data may be used to store information about the R-set for use by the iiiillllEEEEllllttttRRRRsssseeeettttCCCChhhhaaaannnnggggeeeeMMMMeeeetttthhhhooooddddCCCCaaaallllllllbbbbaaaacccckkkk or iiiillllEEEEllllttttRRRRsssseeeettttCCCChhhhaaaannnnggggeeeeFFFFuuuunnnnccccttttiiiioooonnnnCCCCaaaallllllllbbbbaaaacccckkkk (see iiiillllEEEEllllttttIIIImmmmgggg(3) for more information). The application may specify that that the iiiillllEEEEllllttttRRRRsssseeeetttt adopt the data, freeing it when the object is deleted. By default, new iiiillllEEEEllllttttRRRRsssseeeetttt objects will not adopt the data pointer. It is the responsibility of the application to ensure that the data area is not adopted by multiple iiiillllEEEEllllttttRRRRsssseeeetttt objects and not deleted while still referenced by another R-set. CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY CCCCoooonnnnssssttttrrrruuuuccccttttoooorrrr ilEltRset(ilImage* img, float minZoom, float maxZoom, const ilWarp* warp, int isBaseImg, const ilWarp* inverseWarp) ilEltRset(ilImage* img, float minZoom, float maxZoom, const ilWarp* warp, int isBaseImg, int enable=TRUE, void* userData=NULL, int adoptUserData=FALSE, const ilWarp* inverseWarp=NULL) GGGGeeeetttt////sssseeeetttt mmmmeeeetttthhhhooooddddssss ilImage* getImg() void setEnable(int enable=TRUE) int isEnabled() void setZoomRange(float min, float max) void getZoomRange(float& min, float& max) void setMinZoom(float min) float getMinZoom() void setMaxZoom(float max) float getMaxZoom() void setWarp(const ilWarp* newWarp, const ilWarp* newInverseWarp=NULL) const ilWarp* getWarp() const ilWarp* getInverseWarp() int isBaseImg() void setUserData(void* newUserData, int adoptUserData=FALSE) void* getUserData() void rsetChanged() _p_r_o_t_e_c_t_e_d FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS iiiillllEEEEllllttttRRRRsssseeeetttt(((()))) ilEltRset(ilImage* img, float minZoom, float maxZoom, const ilWarp* warp, int isBaseImg, const ilWarp* inverseWarp) ilEltRset(ilImage* img, float minZoom, float maxZoom, PPPPaaaaggggeeee 2222 iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) const ilWarp* warp, int isBaseImg, int enable=TRUE, void* userData=NULL, int adoptUserData=FALSE, const ilWarp* inverseWarp=NULL) Construct a new ELT R-set with the input image given by _i_m_g. The valid scale range for this image is specified as any scale greater than or equal to _m_i_n_Z_o_o_m and less than _m_a_x_Z_o_o_m. The output-driven rectification warp is provided in _w_a_r_p and its inverse is given by _i_n_v_e_r_s_e_W_a_r_p. If the input image is the original source image then the _i_s_B_a_s_e_I_m_g must be set to _T_R_U_E. The R-set is enabled for selection via the _e_n_a_b_l_e parameter. Finally, a pointer to application specific data can be given in _u_s_e_r_D_a_t_a. If the _a_d_o_p_t_U_s_e_r_d_a_t_a flag is set to _T_R_U_E, then the new iiiillllEEEEllllttttRRRRsssseeeetttt object will delete the storage associated with _u_s_e_r_D_a_t_a. ggggeeeettttIIIImmmmgggg(((()))) ilImage* getImg() Returns a pointer to the input image associated with this R-set. ggggeeeettttIIIInnnnvvvveeeerrrrsssseeeeWWWWaaaarrrrpppp(((()))) const ilWarp* getInverseWarp() Returns a pointer to the inverse warp that maps the input image on to the rectified image. ggggeeeettttMMMMaaaaxxxxZZZZoooooooommmm(((()))) float getMaxZoom() Returns the upper limit on the valid scale range for this R-set. ggggeeeettttMMMMiiiinnnnZZZZoooooooommmm(((()))) float getMinZoom() Returns the lower limit on the valid scale range for this R-set. PPPPaaaaggggeeee 3333 iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) ggggeeeettttUUUUsssseeeerrrrDDDDaaaattttaaaa(((()))) void* getUserData() Returns the pointer to the application specific data. It is up to the call to correctly cast the returned pointer to the appropriate type. ggggeeeettttWWWWaaaarrrrpppp(((()))) const ilWarp* getWarp() Returns the output-driven rectification warp that maps the rectified image on to the input image. ggggeeeettttZZZZoooooooommmmRRRRaaaannnnggggeeee(((()))) void getZoomRange(float& min, float& max) Returns the lower and upper limits on the valid scale range for this R-set. iiiissssBBBBaaaasssseeeeIIIImmmmgggg(((()))) int isBaseImg() Returns the indicator that flags the input image of this R-set as the base or original image in multi-resolution data set. iiiissssEEEEnnnnaaaabbbblllleeeedddd(((()))) int isEnabled() Returns an indication that this R-set is available for use by the associated iiiillllEEEEllllttttIIIImmmmgggg. rrrrsssseeeettttCCCChhhhaaaannnnggggeeeedddd(((()))) void rsetChanged() _p_r_o_t_e_c_t_e_d This method is called whenever any parameter of the R-set is changed. This method flags this change to the associated iiiillllEEEEllllttttIIIImmmmgggg, which will reset itself if needed. PPPPaaaaggggeeee 4444 iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) sssseeeettttEEEEnnnnaaaabbbblllleeee(((()))) void setEnable(int enable=TRUE) This method alters the enable state for this R-set. sssseeeettttMMMMaaaaxxxxZZZZoooooooommmm(((()))) void setMaxZoom(float max) This method changes the upper limit of the valid scale range for this R-set. sssseeeettttMMMMiiiinnnnZZZZoooooooommmm(((()))) void setMinZoom(float min) This method changes the lower limit of the valid scale range for this R-set. sssseeeettttUUUUsssseeeerrrrDDDDaaaattttaaaa(((()))) void setUserData(void* newUserData, int adoptUserData=FALSE) This method sets the application specific data pointer to that given by _n_e_w_U_s_e_r_D_a_t_a. If application specific data has been previously specified to this R-set, and it was adopted, the old data will be deleted before applying the change. The pointer given by _n_e_w_U_s_e_r_D_a_t_a will be adopted if indicated by a _T_R_U_E setting in _a_d_o_p_t_U_s_e_r_D_a_t_a. sssseeeettttWWWWaaaarrrrpppp(((()))) void setWarp(const ilWarp* newWarp, const ilWarp* newInverseWarp=NULL) This method sets the warp and inverse warp for this R-set to _n_e_w_W_a_r_p and _n_e_w_I_n_v_e_r_s_e_W_a_r_p respectively. The R-set object will copy any given warps to manage any changes to those warps. Either or both warp may be _N_U_L_L to clear the associated warp in the R-set. PPPPaaaaggggeeee 5555 iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllEEEEllllttttRRRRsssseeeetttt((((3333)))) sssseeeettttZZZZoooooooommmmRRRRaaaannnnggggeeee(((()))) void setZoomRange(float min, float max) This methods sets the scale range over which the input image is valid. IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllWWWWaaaattttcccchhhheeeeddddOOOObbbbjjjjeeeecccctttt addWatchCallback(), doWatchCallbacks(), removeWatchCallback() SSSSEEEEEEEE AAAALLLLSSSSOOOO ilEltImg, ilEltRsetSelector, ilWarp PPPPaaaaggggeeee 6666